package br.com.sistemasaude.controller;

import java.util.ArrayList;
import java.util.List;

import br.com.sistemasaude.bean.Medicamento;
import br.com.sistemasaude.dao.MedicamentoDAO;
import br.com.sistemasaude.dao.MedicamentoDAOImpl;

public class MedicamentoController {

	private String medicamento;
	private double preco;
	private int quantidade;
	
	List<Medicamento> medicamentos = new ArrayList<Medicamento>();
	
	  private int currentMedicamentoIndex;
	    private Medicamento editaMedicamento;
	    private int page = 1;
	
	    
	    
	public MedicamentoController (){
		listaMedicamentos();
		
	}
	public String cadastroMedicamento(){
		
		Medicamento m = new Medicamento();
		m.setDescricao(getMedicamento());
		m.setPreco(getPreco());
		m.setQuantidade(getQuantidade());
		
		MedicamentoDAO medicamentoDAO = new MedicamentoDAOImpl();
		try{
			medicamentoDAO.salvar(m);
			listaMedicamentos();
			return "sucesso";
		}catch (Exception e) {
			return "cadMedFail";
		}
		
	}
	
    public void remover() {
    	MedicamentoDAO medicamentoDAO = new MedicamentoDAOImpl();
    	boolean deletar = medicamentoDAO.remove(editaMedicamento);
    	if(deletar){
    		medicamentos.remove(medicamentos.get(currentMedicamentoIndex));
    	}
    }
 
    public void atualizar() {
    	MedicamentoDAO medicamentoDAO = new MedicamentoDAOImpl();
    	boolean salvar = medicamentoDAO.update(editaMedicamento);
    	if(salvar){
    		medicamentos.set(currentMedicamentoIndex, editaMedicamento);
    	}
    }
 
public void listaMedicamentos(){
		
		MedicamentoDAO medicamentoDAO = new MedicamentoDAOImpl();
		medicamentos = medicamentoDAO.listar();
	
	}
	

	public String getMedicamento() {
		return medicamento;
	}

	public void setMedicamento(String medicamento) {
		this.medicamento = medicamento;
	}

	public double getPreco() {
		return preco;
	}

	public void setPreco(double preco) {
		this.preco = preco;
	}

	public int getQuantidade() {
		return quantidade;
	}

	public void setQuantidade(int quantidade) {
		this.quantidade = quantidade;
	}
	public List<Medicamento> getMedicamentos() {
		return medicamentos;
	}
	public void setMedicamentos(List<Medicamento> medicamentos) {
		this.medicamentos = medicamentos;
	}
	public int getCurrentMedicamentoIndex() {
		return currentMedicamentoIndex;
	}
	public void setCurrentMedicamentoIndex(int currentMedicamentoIndex) {
		this.currentMedicamentoIndex = currentMedicamentoIndex;
	}
	public Medicamento getEditaMedicamento() {
		return editaMedicamento;
	}
	public void setEditaMedicamento(Medicamento editaMedicamento) {
		this.editaMedicamento = editaMedicamento;
	}
	public int getPage() {
		return page;
	}
	public void setPage(int page) {
		this.page = page;
	}
	
	
	
}
